package cn.edu.nuc.bre.dao;

import java.util.List;

import cn.edu.nuc.bre.dto.QueryHandler;
import cn.edu.nuc.bre.entity.Announcement;
import cn.edu.nuc.bre.entity.Dept;
import cn.edu.nuc.bre.entity.History;
import cn.edu.nuc.bre.entity.Task;
import cn.edu.nuc.bre.entity.TransDetail;
import cn.edu.nuc.bre.entity.TransType;
import cn.edu.nuc.bre.entity.Transaction;

/**
 * 封装通用查询
 * 
 * @author Mine
 * @since 2016年11月9日_下午2:15:30
 */
public interface QueryMapper {

	/**
	 * 条件获取事务子任务Task
	 */
	List<Task> queryTask(QueryHandler qh);

	/**
	 * 条件获取事务历史
	 */
	List<History> queryHistory(QueryHandler qh);

	/**
	 * 条件获取事务
	 */
	List<Transaction> queryTransaction(QueryHandler qh);

	/**
	 * 条件获取事务明细
	 */
	List<TransDetail> queryTransDetail(QueryHandler qh);
	
	/**
	 * 条件获取事务明细带种类名称
	 */
	List<TransDetail> queryTransDetailPro(QueryHandler qh);

	/**
	 * 条件获取事务种类
	 */
	List<TransType> queryTransType(QueryHandler qh);

	/**
	 * 条件获取【待定】部门信息
	 */
	List<Dept> queryDept(QueryHandler qh);

	/**
	 * 条件获取公告
	 */
	List<Announcement> queryAnnouncement(QueryHandler qh);

	/**
	 * 获取上次limit查询记录总数
	 */
	long findLastRows();
}
